package com.charging.business.enums;

/**
 * @author JerryLu
 * @date 2024/11/27 08:56
 * @description 各省市代码
 */
public enum Issuer {
   ISSUERMILITARY("军车发行方", "BEFCB3B5", "050101", "0501") ,
   Issue110101("北京", "B1B1BEA9", "110101", "1101") ,
   Issue120101("天津", "CCECBDF2", "120101", "1201") ,
   Issue130101("河北", "BAD3B1B1", "130101", "1301") ,
   Issue130102("河北", "BAD3B1B1", "130102", "1302") ,
   Issue140101("山西", "C9BDCEF7", "140101", "1401") ,
   Issue150101("内蒙古", "C4DAC3C9", "150101", "1501") ,
   Issue210101("辽宁", "C1C9C4FE", "210101", "2101") ,
   Issue220101("吉林", "BCAAC1D6", "220101", "2201") ,
   Issue230101("黑龙江", "C1FABDAD", "230101", "2301") ,
   Issue310101("上海", "C9CFBAA3", "310101", "3101") ,
   Issue320101("江苏", "BDADCBD5", "320101", "3201") ,
   Issue330101("浙江", "D5E3BDAD", "330101", "3301") ,
   Issue340101("安徽", "B0B2BBD5", "340101", "3401") ,
   Issue350101("福建", "B8A3BDA8", "350101", "3501") ,
   Issue360101("江西", "BDADCEF7", "360101", "3601") ,
   Issue370101("山东", "C9BDB6AB", "370101", "3701") ,
   Issue370102("山东", "C9BDB6AB", "370102", "3702") ,
   Issue410101("河南", "BAD3C4CF", "410101", "4101") ,
   Issue420101("湖北", "BAFEB1B1", "420101", "4201") ,
   Issue420102("湖北", "BAFEB1B1", "420102", "4202") ,
   Issue430101("湖南", "BAFEC4CF", "430101", "4301") ,
   Issue440101("广东", "B9E3B6AB", "440101", "4401") ,
   Issue450101("广西", "B9E3CEF7", "450101", "4501") ,
   Issue500101("重庆", "D6D8C7EC", "500101", "5001") ,
   Issue510101("四川", "CBC4B4A8", "510101", "5101") ,
   Issue510102("四川", "CBC4B4A8", "510102", "5102") ,
   Issue510103("四川", "CBC4B4A8", "510103", "5103") ,
   Issue510104("四川", "CBC4B4A8", "510104", "5104") ,
   Issue510105("四川", "CBC4B4A8", "510105", "5105") ,
   Issue510106("四川", "CBC4B4A8", "510106", "5106") ,
   Issue520101("贵州", "B9F3D6DD", "520101", "5201") ,
   Issue530101("云南", "D4C6C4CF", "530101", "5301") ,
   Issue540101("西藏", "CEF7B2D8", "540101", "5401") ,
   Issue610101("陕西", "C9C2CEF7", "610101", "6101") ,
   Issue610102("陕西", "C9C2CEF7", "610102", "6102") ,
   Issue610103("陕西", "C9C2CEF7", "610103", "6103") ,
   Issue610104("陕西", "C9C2CEF7", "610104", "6104") ,
   Issue610105("陕西", "C9C2CEF7", "610105", "6105") ,
   Issue610106("陕西", "C9C2CEF7", "610106", "6106") ,
   Issue610107("陕西", "C9C2CEF7", "610107", "6107") ,
   Issue620101("甘肃", "B8CACBE0", "620101", "6201") ,
   Issue630101("青海", "C7E0BAA3", "630101", "6301") ,
   Issue640101("宁夏", "C4FECFC4", "640101", "6401") ,
   Issue640102("宁夏", "C4FECFC4", "640102", "6402") ,
   Issue650101("新疆", "D0C2BDAE", "650101", "6501") ,
   Issue990101("路网", "C2B7CDF8", "990101", "9901") ;

   private String value;
   private String code;
   private String id;
   private String provinceCode;

   private Issuer(String value, String code, String id, String provinceCode) {
      this.value = value;
      this.code = code;
      this.id = id;
      this.provinceCode = provinceCode;
   }

   public static Issuer fromCode(String code) {
      Issuer[] var1 = values();
      int var2 = var1.length;

      for(int var3 = 0; var3 < var2; ++var3) {
         Issuer type = var1[var3];
         if (type.getCode().equalsIgnoreCase(code)) {
            return type;
         }
      }

      return null;
   }

   public static Issuer fromId(String id) {
      Issuer[] var1 = values();
      int var2 = var1.length;

      for(int var3 = 0; var3 < var2; ++var3) {
         Issuer type = var1[var3];
         if (type.getId().equals(id)) {
            return type;
         }
      }

      return null;
   }

   public static Issuer fromProvinceCode(String provinceCode) {
      Issuer[] var1 = values();
      int var2 = var1.length;

      for(int var3 = 0; var3 < var2; ++var3) {
         Issuer type = var1[var3];
         if (type.getProvinceCode().equals(provinceCode)) {
            return type;
         }
      }

      return null;
   }

   public String getCode() {
      return this.code;
   }

   public String getValue() {
      return this.value;
   }

   public String getId() {
      return this.id;
   }

   public String getProvinceCode() {
      return this.provinceCode;
   }
}
